package com.yfp.client.service;

import com.yfp.client.domain.MarCoupon;
import com.yfp.client.domain.vo.OutletVO;

import java.util.List;

/**
 * @Description: 优惠券
 * 
 * @CreateDate: 2024/7/16 19:02
 * @UpdateUser: 
 * @UpdateDate: 2024/7/16 19:02
 * @UpdateRemark: 暂无修改
 * @Version: 1.0
 */
public interface MarCouponService {
    /**
     * 查最后的弹窗优惠券
     *
     * @param popup
     * @return
     */
    MarCoupon findLastByPopup(Integer popup);

    /**
     * 领券中心
     *
     * @return
     */
    List<MarCoupon> validList(String clientId, String cityName);

    /**
     * 修改剩余数量
     *
     * @param id
     */
    void editSurplusCount(Long id);

    /**
     * 查询
     *
     * @param id
     * @return
     */
    MarCoupon findById(Long id);

    /**
     * 优惠券ID集合
     *
     * @param ids
     * @return
     */
    List<MarCoupon> findByIds(List<Long> ids);

    /**
     * 查询可用营业点
     *
     * @param couponId
     * @return
     */
    List<OutletVO> getOutlets(Long couponId);

    /**
     * 查询可用优惠券
     *
     * @param status
     * @return
     */
    List<MarCoupon> getClientCouponListByStatus(Integer status);

    /**
     * 查询优惠券包下的优惠券
     *
     * @param couponPackId
     * @return
     */
    List<MarCoupon> listByCouponPackId(Long couponPackId);
}
